package com.yoga.manager.admin;

import com.yoga.common.appexception.AppException;
import com.yoga.common.bo.PlainVipBO;
import com.yoga.common.bo.RenewPlainVipBO;

import java.util.Date;

/**
 * Created by hdx on 2020/9/29.
 */
public interface AdminPlainVipManager {
    /**
     * 开通vip
     * @param plainVipBO
     * @return
     * @throws AppException
     */
    Boolean openPlainVip(PlainVipBO plainVipBO) throws AppException;

    /**
     * 会员续卡
     * @param renewPlainVipBO
     * @return
     * @throws AppException
     */
    Boolean renewPlainVip(RenewPlainVipBO renewPlainVipBO) throws AppException;

    /**
     * 办理停卡
     * @param plainVipId
     * @param month
     * @return
     * @throws AppException
     */
    Boolean stopPlainVip(Long plainVipId, Integer month) throws AppException;

    /**
     * 超级管理员修改会员信息
     * @param plainVipBO
     * @return
     * @throws AppException
     */
    Boolean updateData(PlainVipBO plainVipBO) throws AppException;

    /**
     * 管理员帮会员签到减1届课
     * @param plainVipId
     * @return
     * @throws AppException
     */
    Boolean cutClassNum(Long plainVipId) throws AppException;
    Boolean addClassNum(Long plainVipId) throws AppException;
    /**
     * 通过用户id查询团课会员信息
     * @param yogaUserId
     * @return
     * @throws AppException
     */
    PlainVipBO getByUserId(Long yogaUserId) throws AppException;
}
